home *** CD-ROM | disk | FTP | other *** search
/ Computer Select (Limited Edition) / Computer Select.iso / pcc / v04n12 / dkmaker.bas < prev    next >
BASIC Source File  |  1991-10-02  |  1KB  |  58 lines

  1. ' DKMAKER.BAS (c) 1991 DVA, Inc.
  2. ' Creates DKMACS batch file of current DOSKEY macros
  3. '
  4. FileRoot$ = "C:\DKMACS"
  5. FileExt$ = ".BAT"
  6. FileNum% = 0
  7. TempInFile$ = "C:\MACROSIN.$$$"
  8. TempOutFile$ = "C:\MACROSOT.$$$"
  9. ON ERROR GOTO FileCheck
  10. MacroFile$ = FileRoot$ + FileExt$
  11. WHILE (1)
  12.   OPEN MacroFile$ FOR INPUT AS 1
  13.   CLOSE 1
  14.   IF FileNum% < 10 THEN
  15.     Number$ = "0" + MID$(STR$(FileNum%), 2, 1)
  16.   ELSE
  17.     Number$ = MID$(STR$(FileNum%), 2, 2)
  18.   END IF
  19.   MacroFile$ = FileRoot$ + Number$ + FileExt$
  20.   FileNum% = FileNum% + 1
  21. WEND
  22. IsNew:
  23. ON ERROR GOTO 0
  24. ShellString$ = "doskey /macros >" + TempInFile$
  25. SHELL (ShellString$)
  26. OPEN TempInFile$ FOR INPUT AS 1
  27. OPEN TempOutFile$ FOR OUTPUT AS 2
  28. MacCount% = 0
  29. DO
  30.   INPUT #1, MacroString$
  31.   IF MacroString$ <> "" THEN
  32.     IF MacCount% = 0 THEN PRINT #2, "@echo off"
  33.     PRINT #2, "doskey "; MacroString$
  34.     MacCount% = MacCount% + 1
  35.   END IF
  36. LOOP WHILE NOT EOF(1)
  37. CLOSE 1
  38. CLOSE 2
  39. KILL TempInFile$
  40. IF MacCount% = 0 THEN
  41.   PRINT "No macros defined in DOSKEY. No batch file created."
  42.   KILL TempOutFile$
  43. ELSE
  44.   NAME TempOutFile$ AS MacroFile$
  45.   PRINT MacroFile$; " file of DOSKEY macros created."
  46. END IF
  47. SYSTEM
  48. END
  49. FileCheck:
  50. SELECT CASE ERR
  51.   CASE 53
  52.     RESUME IsNew
  53.   CASE ELSE
  54.     PRINT ERR
  55.     END
  56. END SELECT
  57.  
  58.